Last updated: 2022-09-27

Checks: 7 0

Knit directory: HumanMultiomics/

This reproducible R Markdown analysis was created with workflowr (version 1.7.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20220715) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version 0505df4. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .DS_Store
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/
    Ignored:    analysis/.DS_Store
    Ignored:    analysis/.Rhistory
    Ignored:    data/.DS_Store
    Ignored:    figure/.DS_Store

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/differential_expression_analysis.Rmd) and HTML (docs/differential_expression_analysis.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
Rmd 0505df4 mohit-rastogi 2022-09-27 commit new
html 226bc7d mohit-rastogi 2022-09-27 Build site.
html 687a35a mohit-rastogi 2022-09-15 Build site.
Rmd e5f00c4 mohit-rastogi 2022-09-15 wflow_publish("analysis/*")
html 4e1ab3a mohit-rastogi 2022-09-15 Build site.
Rmd ad242c4 mohit-rastogi 2022-09-15 wflow_publish("analysis/*")
html 4b8f324 mohit-rastogi 2022-09-13 Build site.
Rmd 446ad1e mohit-rastogi 2022-09-13 wflow_publish("analysis/*")
html 9d7930b neurodevdisorder 2022-08-09 Build site.
Rmd 876863e neurodevdisorder 2022-08-09 wflow_publish("analysis/*")
html 9bf41c9 neurodevdisorder 2022-07-16 Build site.
Rmd 271f6aa neurodevdisorder 2022-07-16 wflow_publish("analysis/*")
html 6fa1b4c neurodevdisorder 2022-07-15 Build site.
Rmd c04fbc4 neurodevdisorder 2022-07-15 wflow_publish("analysis/*")
html c3a80b2 neurodevdisorder 2022-07-15 Build site.
Rmd b063452 neurodevdisorder 2022-07-15 wflow_publish("analysis/*")
html 43af26a neurodevdisorder 2022-07-15 Build site.
Rmd 9bf2d51 neurodevdisorder 2022-07-15 Differential expression analysis
html 80ecc5e neurodevdisorder 2022-07-15 Build site.
Rmd d1cf5b7 neurodevdisorder 2022-07-15 Differential expression analysis
html fc2eaa2 neurodevdisorder 2022-07-15 Build site.
Rmd ea2d35b neurodevdisorder 2022-07-15 Differential expression analysis
html 09605c0 neurodevdisorder 2022-07-15 Build site.
html fb514a1 neurodevdisorder 2022-07-15 Build site.
html 7d8790a neurodevdisorder 2022-07-15 Build site.
html e1c294a neurodevdisorder 2022-07-15 Build site.
html ac97638 neurodevdisorder 2022-07-15 Build site.
Rmd e1a04c1 neurodevdisorder 2022-07-15 Differential expression analysis
html e6b258c neurodevdisorder 2022-07-15 Build site.
Rmd 155f31d neurodevdisorder 2022-07-15 Differential expression analysis

Introduction

This is the differential expression analysis from the total RNA sequencing experiment performed on postmortem hippocampus obtained from Down syndrome and control individuals.

First, we will load all the packages required to perform this analysis

library(ggplot2)
library(dplyr)
library(edgeR)
library(openxlsx)
library(ggrepel)
library(DBI)
library(org.Hs.eg.db)
library("pcaExplorer")
library(TxDb.Hsapiens.UCSC.hg38.knownGene)
library(rtracklayer)
library(ggbio)
library(clusterProfiler)
library(enrichplot)
library(ggridges)
library(karyoploteR)
library(tidyverse)
library(forcats)
library(pathview)
library(ComplexHeatmap)
library(circlize)
library(kableExtra)
library(DT)

Read the raw count matrix for hippocampus samples

The count matrix consists of 11 control samples (C1-C11) and 9 Down syndrome samples (Ds1-Ds9)

count_human_total_hippocampus_coding<- read.table(file= "data/raw_counts_human_hippo_matrix_coding.txt", header=T, row.names=1)
head(count_human_total_hippocampus_coding)
                 C1  C2   C3   C4  C5  C6   C7   C8  C9 C10 C11  Ds1 Ds2 Ds3
ENSG00000186092   0   0    0    0   0   0    0    0   0   0   0    0   0   0
ENSG00000284733   0   0    0    0   0   0    0    0   0   0   0    0   0   0
ENSG00000284662   0   0    0    0   0   0    0    0   0   0   0    0   0   0
ENSG00000187634   9   9   36   40   8  11   12   69   6  28  12   26  40  29
ENSG00000188976 496 624 1482 1417 558 454 1085 1249 270 477 799 1313 351 629
ENSG00000187961  13  20   89   66  12  34   82  131  13  30  25  105  44  45
                 Ds4 Ds5 Ds6 Ds7 Ds8  Ds9
ENSG00000186092    0   0   0   0   0    0
ENSG00000284733    0   0   0   0   0    0
ENSG00000284662    0   0   0   0   0    0
ENSG00000187634   46  47  21  41  26   22
ENSG00000188976 1051 798 755 570 887 1260
ENSG00000187961   95  98  82  47  32  100
meta_counts_human_total_hippocampus_coding<-data.frame(row.names = colnames(count_human_total_hippocampus_coding),condition_human_total_hippocampus_coding=c("Cont","Cont","Cont","Cont","Cont","Cont","Cont","Cont","Cont","Cont","Cont","DS","DS","DS","DS","DS","DS","DS","DS","DS"))

Define the groups

group_human_total_hippocampus_coding<-relevel(factor(meta_counts_human_total_hippocampus_coding$condition_human_total_hippocampus_coding),ref="Cont")
group_human_total_hippocampus_coding
 [1] Cont Cont Cont Cont Cont Cont Cont Cont Cont Cont Cont DS   DS   DS   DS  
[16] DS   DS   DS   DS   DS  
Levels: Cont DS

Design the model for performing differential expression analysis

#Design the model for the differential expression
design_human_total_hippocampus_coding = model.matrix(~group_human_total_hippocampus_coding)
y_human_total_hippocampus_coding<-DGEList(count_human_total_hippocampus_coding,group = group_human_total_hippocampus_coding)

Calculate counts per million in log

cpm_log_human_total_hippocampus_coding<-cpm(y_human_total_hippocampus_coding,log=TRUE)

Visualize the log counts per million (cpm) as a heatmap

heatmap(cor(cpm_log_human_total_hippocampus_coding))

Version Author Date
c3a80b2 neurodevdisorder 2022-07-15
43af26a neurodevdisorder 2022-07-15

Perform PCA after loading the sample information

sample_hippo<- read.xlsx("data/human_hippo_samplesheet.xlsx", sheet=1)
row.names(sample_hippo)<-sample_hippo$SampleName
all(colnames(cpm_log_human_total_hippocampus_coding) == rownames(sample_hippo))
[1] TRUE
p <- PCAtools::pca(cpm_log_human_total_hippocampus_coding, metadata = sample_hippo, removeVar = 0.1)
-- removing the lower 10% of variables based on variance
PCAtools::screeplot(p)

Version Author Date
687a35a mohit-rastogi 2022-09-15
c3a80b2 neurodevdisorder 2022-07-15
43af26a neurodevdisorder 2022-07-15
PCAtools::biplot(p)

Version Author Date
687a35a mohit-rastogi 2022-09-15

Filter the data based on heatmap, PCA and RIN values

Looking at the clustering and PCA plots, we remove few samples which look like outliers: C6,C7,C8,C9,C10,Ds2,Ds6,Ds7

count_hth_filt_coding2<-count_human_total_hippocampus_coding[,-c(6,7,8,9,10,13,17,18)]
head(count_hth_filt_coding2)
                 C1  C2   C3   C4  C5 C11  Ds1 Ds3  Ds4 Ds5 Ds8  Ds9
ENSG00000186092   0   0    0    0   0   0    0   0    0   0   0    0
ENSG00000284733   0   0    0    0   0   0    0   0    0   0   0    0
ENSG00000284662   0   0    0    0   0   0    0   0    0   0   0    0
ENSG00000187634   9   9   36   40   8  12   26  29   46  47  26   22
ENSG00000188976 496 624 1482 1417 558 799 1313 629 1051 798 887 1260
ENSG00000187961  13  20   89   66  12  25  105  45   95  98  32  100
meta_counts_hth_filt_coding2<-data.frame(row.names = colnames(count_hth_filt_coding2),condition_hth_filt_coding2=c("Cont","Cont","Cont","Cont","Cont","Cont","DS","DS","DS","DS","DS","DS"))

####Perform hierarchical clsutering and PCA on the filtered samples

group_hth_filt_coding2<-relevel(factor(meta_counts_hth_filt_coding2$condition_hth_filt_coding2),ref="Cont")
group_hth_filt_coding2
 [1] Cont Cont Cont Cont Cont Cont DS   DS   DS   DS   DS   DS  
Levels: Cont DS
design_hth_filt_coding2 = model.matrix(~group_hth_filt_coding2)
y_hth_filt_coding2<-DGEList(count_hth_filt_coding2,group = group_hth_filt_coding2)
cpm_log_hth_filt_coding2<-cpm(y_hth_filt_coding2,log=TRUE)
heatmap(cor(cpm_log_hth_filt_coding2))

Version Author Date
687a35a mohit-rastogi 2022-09-15
sample_hippo<- read.xlsx("data/human_hippo_samplesheet.xlsx", sheet=2)
row.names(sample_hippo)<-sample_hippo$SampleName
all(colnames(cpm_log_hth_filt_coding2) == rownames(sample_hippo))
[1] TRUE
p <- PCAtools::pca(cpm_log_hth_filt_coding2, metadata = sample_hippo, removeVar = 0.1)
-- removing the lower 10% of variables based on variance
PCAtools::screeplot(p)

Version Author Date
687a35a mohit-rastogi 2022-09-15
PCAtools::biplot(p)

Version Author Date
687a35a mohit-rastogi 2022-09-15

Filter the genes based on their expression in n-1 samples

cpm_y_hth_filt_coding2<-cpm(y_hth_filt_coding2)
keep_hth_filt_coding2<-rowSums((cpm_y_hth_filt_coding2)>1)>5
table(keep_hth_filt_coding2)
keep_hth_filt_coding2
FALSE  TRUE 
 5747 14221 

Perform normalization using TMM

y_hth_filt_coding2<-DGEList(count_hth_filt_coding2,group = group_hth_filt_coding2)
y_hth_filt_coding2 <- y_hth_filt_coding2[keep_hth_filt_coding2, , keep.lib.sizes=FALSE]
y_hth_filt_coding2 <- calcNormFactors(y_hth_filt_coding2)
y_hth_filt_coding2$samples
    group lib.size norm.factors
C1   Cont 26747264    0.9014953
C2   Cont 28753065    0.9295325
C3   Cont 31216269    1.0367848
C4   Cont 34181183    0.9965316
C5   Cont 24231673    0.9048995
C11  Cont 23897314    0.9656747
Ds1    DS 27072147    1.0308510
Ds3    DS 17654033    1.1121233
Ds4    DS 27713628    1.0497314
Ds5    DS 25307466    1.1031263
Ds8    DS 26297451    0.9796220
Ds9    DS 24491826    1.0163664

Estimate differential expression using GLM

y_hth_filt_coding2 <- estimateGLMRobustDisp(y_hth_filt_coding2,design_hth_filt_coding2, verbose = TRUE)
Iteration 1: Re-fitting GLM. Re-estimating trended dispersion.
Re-estimating tagwise dispersion.
Iteration 2: Re-fitting GLM. Re-estimating trended dispersion.
Re-estimating tagwise dispersion.
Iteration 3: Re-fitting GLM. Re-estimating trended dispersion.
Re-estimating tagwise dispersion.
Iteration 4: Re-fitting GLM. Re-estimating trended dispersion.
Re-estimating tagwise dispersion.
Iteration 5: Re-fitting GLM. Re-estimating trended dispersion.
Re-estimating tagwise dispersion.
Iteration 6: Re-fitting GLM. Re-estimating trended dispersion.
Re-estimating tagwise dispersion.
fit_hth_filt_coding2 <- glmFit(y_hth_filt_coding2, design_hth_filt_coding2)
lrt_hth_filt_coding2<-glmLRT(fit_hth_filt_coding2,coef = 2)
de_hth_filt_coding2 <- decideTestsDGE(lrt_hth_filt_coding2, adjust.method="BH", p.value = 0.05)

Number of differentially expressed genes in the hippocampus

summary(de_hth_filt_coding2)
       group_hth_filt_coding2DS
Down                       2205
NotSig                     9394
Up                         2622

Counts per million (CPM) values for all the genes considered in the differential expression analysis

cpm_y_hth_filt_coding22<-cpm(y_hth_filt_coding2)
cpm_y_hth_filt.dt <- DT::datatable(cpm_y_hth_filt_coding22, rownames=TRUE, class="white-space: nowrap", escape=FALSE) 
cpm_y_hth_filt.dt

Here, we annotated the data from the previous using ENSEMBL information for each gene and mapped the DEGs onto their chromosomal location.

OrgDb <- org.Hs.eg.db
results_edgeR_hth_filt_coding2<- topTags(lrt_hth_filt_coding2, n = nrow(count_hth_filt_coding2), sort.by = "none")
k<-row.names(results_edgeR_hth_filt_coding2)
ann_hth_filt_coding2<-AnnotationDbi::select(org.Hs.eg.db,keys=k,keytype = "ENSEMBL",columns=c("ENTREZID","SYMBOL","GENENAME","CHR","UNIPROT","ALIAS","GENENAME"))
'select()' returned 1:many mapping between keys and columns
idx<-match(row.names(results_edgeR_hth_filt_coding2),ann_hth_filt_coding2$ENSEMBL)
results_rna_annotated_hth_filt_coding2<-cbind(results_edgeR_hth_filt_coding2,ann_hth_filt_coding2[idx,])
detags <- rownames(y_hth_filt_coding2)[as.logical(de_hth_filt_coding2)]
sigGenes <- results_rna_annotated_hth_filt_coding2[detags,]
tx<-TxDb.Hsapiens.UCSC.hg38.knownGene
exo <- exonsBy(tx,"gene")
exoRanges <- unlist(range(exo))
sigRegions <- exoRanges[na.omit(match(sigGenes$ENTREZID, names(exoRanges)))]
mcols(sigRegions) <- sigGenes[match(names(sigRegions), sigGenes$ENTREZID),]
sigRegions[order(sigRegions$LR,decreasing = TRUE)]
GRanges object with 4809 ranges and 12 metadata columns:
        seqnames              ranges strand |     logFC    logCPM        LR
           <Rle>           <IRanges>  <Rle> | <numeric> <numeric> <numeric>
  64005     chr7   44962662-44979088      - |   3.67879  0.606683   66.0467
   7052    chr20   38127385-38166578      - |   2.25840  4.274056   65.9522
   3339     chr1   21822244-21937310      - |   2.44714  3.740847   65.5580
     12    chr14   94592058-94624646      + |   3.16526  0.988412   64.9642
   3691    chr17   75721328-75757818      + |   2.18007  5.528861   64.2538
    ...      ...                 ...    ... .       ...       ...       ...
  10745     chr1 113696831-113759489      - | -0.361545   5.48447   5.71151
   8495    chr11     7513298-7657127      + |  0.496606   4.93888   5.71125
  54039    chr21   45643694-45942454      + |  0.639404   3.11438   5.70519
  57592     chr1 151281618-151292176      + |  0.795094   3.55223   5.70267
   8708     chr2 167293171-167558333      + | -0.444137   5.26416   5.70133
             PValue         FDR         ENSEMBL    ENTREZID      SYMBOL
          <numeric>   <numeric>     <character> <character> <character>
  64005 4.40354e-16 2.67493e-12 ENSG00000136286       64005       MYO1G
   7052 4.61983e-16 2.67493e-12 ENSG00000198959        7052        TGM2
   3339 5.64291e-16 2.67493e-12 ENSG00000142798        3339       HSPG2
     12 7.62729e-16 2.71169e-12 ENSG00000196136          12    SERPINA3
   3691 1.09383e-15 3.11108e-12 ENSG00000132470        3691       ITGB4
    ...         ...         ...             ...         ...         ...
  10745   0.0168541   0.0496926 ENSG00000116793       10745       PHTF1
   8495   0.0168566   0.0496926 ENSG00000166387        8495     PPFIBP2
  54039   0.0169148   0.0498541 ENSG00000183570       54039       PCBP3
  57592   0.0169391   0.0499154 ENSG00000143373       57592      ZNF687
   8708   0.0169521   0.0499431 ENSG00000172318        8708     B3GALT1
                      GENENAME         CHR     UNIPROT       ALIAS
                   <character> <character> <character> <character>
  64005              myosin IG           7      B0I1T2         HA2
   7052     transglutaminase 2          20      P21980        G(h)
   3339 heparan sulfate prot..           1      P98160        HSPG
     12 serpin family A memb..          14  A0A024R6P0        AACT
   3691 integrin subunit bet..          17  A0A024R8T0       CD104
    ...                    ...         ...         ...         ...
  10745 putative homeodomain..           1      Q9UMS5        PHTF
   8495 PPFIA binding protei..          11      Q8ND30       Cclp1
  54039 poly(rC) binding pro..          21      P57721   ALPHA-CP3
  57592 zinc finger protein ..           1      Q8N1G0        PDB6
   8708 beta-1,3-galactosylt..           2      Q9Y5Z6 beta3Gal-T1
  -------
  seqinfo: 595 sequences (1 circular) from hg38 genome
sigRegions <- keepSeqlevels(sigRegions, value = c("chr1","chr2","chr3","chr4","chr5","chr6","chr7",
"chr8","chr9","chr10","chr11","chr12","chr13","chr14",
"chr15","chr16","chr17","chr18","chr19","chr20",
"chr21","chr22","chrX","chrY"),pruning.mode="tidy")
#seqlevels(sigRegions)
Score <- -log10(sigRegions$FDR)
rbPal <-colorRampPalette(c("blue", "red"))
logfc <- pmax(sigRegions$logFC, -5)
logfc <- pmin(logfc , 5)
Col <- rbPal(10)[as.numeric(cut(logfc, breaks = 10))]
mcols(sigRegions)$score <- Score
mcols(sigRegions)$itemRgb <- Col
#export(sigRegions , con = "topHitshuman_hippo.bed")
top200 <- sigRegions[order(sigRegions$LR,decreasing = TRUE)]
plotGrandLinear(top200 , aes(y = logFC))
using coord:genome to parse x scale

Version Author Date
687a35a mohit-rastogi 2022-09-15
mcols(top200)$UpRegulated <- mcols(top200)$logFC > 0
mcols(top200)$DownRegulated <- mcols(top200)$logFC < 0
autoplot(top200,layout="karyogram",aes(color=DownRegulated,fill=DownRegulated))
Scale for 'x' is already present. Adding another scale for 'x', which will
replace the existing scale.
Scale for 'x' is already present. Adding another scale for 'x', which will
replace the existing scale.

Version Author Date
687a35a mohit-rastogi 2022-09-15
results_hippo_RNA<-as_tibble(results_rna_annotated_hth_filt_coding2)
row.names(results_hippo_RNA)<-results_hippo_RNA$ENSEMBL
saveRDS(results_hippo_RNA, file = "results_hippo_RNA.rds")
saveRDS(sigGenes,file="sigGenes_hippo.rds")

Results from differential expression analysis for hippocampus samples

results_rna_annotated_hth_filt_coding2.dt <- DT::datatable(results_rna_annotated_hth_filt_coding2, rownames=TRUE, class="white-space: nowrap", escape=FALSE) 
results_rna_annotated_hth_filt_coding2.dt

sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.7

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] grid      stats4    stats     graphics  grDevices utils     datasets 
[8] methods   base     

other attached packages:
 [1] DT_0.25.1                               
 [2] kableExtra_1.3.4                        
 [3] circlize_0.4.15                         
 [4] ComplexHeatmap_2.8.0                    
 [5] pathview_1.32.0                         
 [6] forcats_0.5.2                           
 [7] stringr_1.4.1                           
 [8] purrr_0.3.4                             
 [9] readr_2.1.2                             
[10] tidyr_1.2.1                             
[11] tibble_3.1.8                            
[12] tidyverse_1.3.2                         
[13] karyoploteR_1.18.0                      
[14] regioneR_1.24.0                         
[15] ggridges_0.5.3                          
[16] enrichplot_1.12.3                       
[17] clusterProfiler_4.0.5                   
[18] ggbio_1.40.0                            
[19] rtracklayer_1.52.1                      
[20] TxDb.Hsapiens.UCSC.hg38.knownGene_3.13.0
[21] GenomicFeatures_1.44.2                  
[22] GenomicRanges_1.44.0                    
[23] GenomeInfoDb_1.28.4                     
[24] pcaExplorer_2.18.0                      
[25] org.Hs.eg.db_3.13.0                     
[26] AnnotationDbi_1.54.1                    
[27] IRanges_2.28.0                          
[28] S4Vectors_0.32.3                        
[29] Biobase_2.54.0                          
[30] BiocGenerics_0.40.0                     
[31] DBI_1.1.3                               
[32] ggrepel_0.9.1                           
[33] openxlsx_4.2.5                          
[34] edgeR_3.34.1                            
[35] limma_3.50.1                            
[36] dplyr_1.0.10                            
[37] ggplot2_3.3.6                           
[38] workflowr_1.7.0                         

loaded via a namespace (and not attached):
  [1] rsvd_1.0.5                  svglite_2.1.0              
  [3] Hmisc_4.7-1                 ps_1.7.1                   
  [5] Rsamtools_2.8.0             foreach_1.5.2              
  [7] rprojroot_2.0.3             crayon_1.5.1               
  [9] MASS_7.3-58.1               nlme_3.1-159               
 [11] backports_1.4.1             reprex_2.0.2               
 [13] GOSemSim_2.18.1             rlang_1.0.5                
 [15] XVector_0.32.0              readxl_1.4.1               
 [17] irlba_2.3.5                 SparseM_1.81               
 [19] callr_3.7.2                 filelock_1.0.2             
 [21] GOstats_2.58.0              BiocParallel_1.28.3        
 [23] rjson_0.2.21                bit64_4.0.5                
 [25] glue_1.6.2                  pheatmap_1.0.12            
 [27] rngtools_1.5.2              parallel_4.1.0             
 [29] processx_3.7.0              shinyAce_0.4.2             
 [31] shinydashboard_0.7.2        DOSE_3.18.3                
 [33] haven_2.5.1                 tidyselect_1.1.2           
 [35] SummarizedExperiment_1.22.0 XML_3.99-0.10              
 [37] GenomicAlignments_1.28.0    xtable_1.8-4               
 [39] magrittr_2.0.3              evaluate_0.16              
 [41] cli_3.4.0                   zlibbioc_1.40.0            
 [43] rstudioapi_0.14             whisker_0.4                
 [45] bslib_0.4.0                 rpart_4.1.16               
 [47] fastmatch_1.1-3             ensembldb_2.16.4           
 [49] treeio_1.16.2               shiny_1.7.2                
 [51] BiocSingular_1.8.1          xfun_0.33                  
 [53] clue_0.3-61                 cluster_2.1.4              
 [55] tidygraph_1.2.2             TSP_1.2-1                  
 [57] KEGGREST_1.32.0             biovizBase_1.40.0          
 [59] threejs_0.3.3               ape_5.6-2                  
 [61] dendextend_1.16.0           Biostrings_2.60.2          
 [63] png_0.1-7                   reshape_0.8.9              
 [65] withr_2.5.0                 shinyBS_0.61.1             
 [67] bitops_1.0-7                ggforce_0.3.4              
 [69] RBGL_1.68.0                 plyr_1.8.7                 
 [71] cellranger_1.1.0            GSEABase_1.54.0            
 [73] AnnotationFilter_1.16.0     dqrng_0.3.0                
 [75] pillar_1.8.1                GlobalOptions_0.1.2        
 [77] cachem_1.0.6                fs_1.5.2                   
 [79] GetoptLong_1.0.5            DelayedMatrixStats_1.14.3  
 [81] vctrs_0.4.1                 ellipsis_0.3.2             
 [83] generics_0.1.3              NMF_0.24.0                 
 [85] tools_4.1.0                 foreign_0.8-82             
 [87] munsell_0.5.0               tweenr_2.0.2               
 [89] fgsea_1.18.0                DelayedArray_0.18.0        
 [91] fastmap_1.1.0               compiler_4.1.0             
 [93] httpuv_1.6.6                pkgmaker_0.32.2            
 [95] plotly_4.10.0               GenomeInfoDbData_1.2.6     
 [97] gridExtra_2.3               lattice_0.20-45            
 [99] deldir_1.0-6                AnnotationForge_1.34.1     
[101] utf8_1.2.2                  later_1.3.0                
[103] BiocFileCache_2.0.0         jsonlite_1.8.0             
[105] GGally_2.1.2                scales_1.2.1               
[107] ScaledMatrix_1.0.0          graph_1.70.0               
[109] sparseMatrixStats_1.4.2     tidytree_0.4.0             
[111] genefilter_1.74.1           lazyeval_0.2.2             
[113] promises_1.2.0.1            doParallel_1.0.17          
[115] latticeExtra_0.6-30         checkmate_2.1.0            
[117] rmarkdown_2.16              cowplot_1.1.1              
[119] webshot_0.5.3               dichromat_2.0-0.1          
[121] downloader_0.4              BSgenome_1.60.0            
[123] igraph_1.3.4                survival_3.4-0             
[125] yaml_2.3.5                  systemfonts_1.0.4          
[127] htmltools_0.5.3             memoise_2.0.1              
[129] VariantAnnotation_1.38.0    BiocIO_1.2.0               
[131] locfit_1.5-9.6              seriation_1.3.6            
[133] PCAtools_2.4.0              graphlayouts_0.8.1         
[135] viridisLite_0.4.1           digest_0.6.29              
[137] assertthat_0.2.1            mime_0.12                  
[139] rappdirs_0.3.3              registry_0.5-1             
[141] RSQLite_2.2.17              yulab.utils_0.0.5          
[143] data.table_1.14.2           blob_1.2.3                 
[145] labeling_0.4.2              splines_4.1.0              
[147] Formula_1.2-4               Cairo_1.6-0                
[149] googledrive_2.0.0           OrganismDbi_1.34.0         
[151] ProtGenerics_1.26.0         RCurl_1.98-1.8             
[153] broom_1.0.1                 hms_1.1.2                  
[155] modelr_0.1.9                colorspace_2.0-3           
[157] base64enc_0.1-3             BiocManager_1.30.18        
[159] shape_1.4.6                 aplot_0.1.7                
[161] nnet_7.3-17                 sass_0.4.2                 
[163] Rcpp_1.0.9                  fansi_1.0.3                
[165] tzdb_0.3.0                  R6_2.5.1                   
[167] lifecycle_1.0.2             zip_2.2.1                  
[169] curl_4.3.2                  googlesheets4_1.0.1        
[171] jquerylib_0.1.4             DO.db_2.9                  
[173] Matrix_1.4-1                qvalue_2.24.0              
[175] RColorBrewer_1.1-3          iterators_1.0.14           
[177] topGO_2.44.0                htmlwidgets_1.5.4          
[179] bamsignals_1.24.0           beachmat_2.8.1             
[181] polyclip_1.10-0             biomaRt_2.48.3             
[183] crosstalk_1.2.0             shadowtext_0.1.2           
[185] gridGraphics_0.5-1          rvest_1.0.3                
[187] htmlTable_2.4.1             patchwork_1.1.2            
[189] KEGGgraph_1.52.0            codetools_0.2-18           
[191] matrixStats_0.62.0          lubridate_1.8.0            
[193] GO.db_3.13.0                getPass_0.2-2              
[195] prettyunits_1.1.1           dbplyr_2.2.1               
[197] gridBase_0.4-7              gtable_0.3.1               
[199] git2r_0.30.1                highr_0.9                  
[201] ggfun_0.0.7                 httr_1.4.4                 
[203] stringi_1.7.8               progress_1.2.2             
[205] reshape2_1.4.4              farver_2.1.1               
[207] heatmaply_1.3.0             annotate_1.70.0            
[209] viridis_0.6.2               Rgraphviz_2.36.0           
[211] ggtree_3.0.4                xml2_1.3.3                 
[213] bezier_1.1.2                restfulr_0.0.15            
[215] interp_1.1-3                geneplotter_1.70.0         
[217] ggplotify_0.1.0             Category_2.58.0            
[219] DESeq2_1.32.0               bit_4.0.4                  
[221] scatterpie_0.1.8            jpeg_0.1-9                 
[223] MatrixGenerics_1.4.3        ggraph_2.0.6               
[225] pkgconfig_2.0.3             gargle_1.2.1               
[227] knitr_1.40